var jsonData = {
	"ref": [{
		"category": {
			"ja": "フラグ",
			"en": "Flags"
		},
		"items": [{
			"pattern": "/\\d+/",
			"title": "フラグなし",
			"desc": "対象文字列の中にマッチする文字列が複数存在する場合、最初にマッチした値のみが返ります。<br>'123abc456' が対象文字列とすると、『\\d+』にマッチするのは '123' と '456' ですが、最初にマッチした'123'のみが返ります。"
		}, {
			"pattern": "/\\d/<span class='attention'>g</span>",
			"title": "対象文字列の末尾までマッチする文字列を検索する",
			"desc": "《 <span class='attention'>g</span>lobal match 》<br>対象文字列の中にマッチする文字列が複数存在する場合、マッチした文字列を配列で返します。"
		}, {
			"pattern": "/ab/<span class='attention'>i</span>",
			"title": "大/小文字の区別なし",
			"desc": "《 <span class='attention'>i</span>gnore case 》<br>大文字、小文字の区別をせずにマッチさせます。<br>'ab', 'Ab', 'aB', 'AB' にマッチします。"
		}, {
			"pattern": "/\\d$/<span class='attention'>m</span>",
			"title": "複数行に渡ってマッチ",
			"desc": "《 match over multiple lines (<span class='attention'>m</span>ultiline) 》<br>行末尾にある半角数字にマッチします。<br>'\\n' によって折り返された複数行となる文字列に対して、'^' や '$' を併せて使用することにより、各行頭または各行末尾にある文字列にマッチさせることができます。"
		}, {
			"pattern": "/\\w$/<span class='attention'>gim</span>",
			"title": "フラグの組み合わせ",
			"desc": "各行末尾にある1つ以上の半角英数字かアンダースコアにマッチします。<br>フラグの並び順に制限はなく、'mig'や'img'などとすることができます。"
		}]
	}, {
		"category": {
			"ja": "位置指定",
			"en": "Anchors"
		},
		"items": [{
			"pattern": "/<span class='attention'>^</span>\\d/",
			"title": "文字列先頭",
			"desc": "『/^\\d/』の場合、文字列先頭にある半角数字にマッチします。"
		}, {
			"pattern": "/\\d<span class='attention'>$</span>/",
			"title": "文字列末尾",
			"desc": "『/\\d$/』の場合、文字列末尾にある半角数字にマッチします。"
		}, {
			"pattern": "/<span class='attention'>\\b</span>\\d/",
			"title": "単語境界",
			"desc": "単語境界にある半角数字にマッチします。<br><ul><li>対象文字列:'12 34'</li><li>パターン:『/\\b\\d+/g』</li></ul>この場合、'12'と'34'が返ります。<br>しかし『/\\b<span class='attention'>.+</span>/g』とすると、'12 34'が返ります。<br>つまりマッチさせる対象によって単語境界も変わってきますので安易に「空白が区切り」などと判断してはいけません。<br>単語を構成する文字 =『w』に相当する文字、<b>ではない</b>ことに注意してください。"
		}, {
			"pattern": "/<span class='attention'>\\B</span>\\d/",
			"title": "単語境界以外",
			"desc": "単語境界以外にある半角数字にマッチします。"
		}]
	}, {
		"category": {
			"ja": "量指定",
			"en": "Quantifiers"
		},
		"items": [{
			"pattern": "/\\d<span class='attention'>+</span>/",
			"title": "直前の文字が1つ以上続いた文字列",
			"desc": "'1', '02', '1234' など、１つ以上の半角数字にマッチします。"
		}, {
			"pattern": "/\\(-_-\\)z<span class='attention'>*</span>/",
			"title": "直前の文字が0個以上続いた文字列",
			"desc": "'(-_-)', '(-_-)zzz...' などににマッチします。"
		}, {
			"pattern": "/Nov(ember)<span class='attention'>?</span>/",
			"title": "直前の文字が0個、または1個",
			"desc": "'Nov' または 'November' にマッチします。<br>'()' で囲まれた文字をグループ化し、そのグループ化された文字(列)が一つあるか、または無くともマッチします。"
		}, {
			"pattern": "/\\d<span class='attention'>{</span>2<span class='attention'>}</span>/",
			"title": "直前の文字がn個続いた文字",
			"desc": "2個続いた半角数字にマッチします。"
		}, {
			"pattern": "/\\d<span class='attention'>{</span>2<span class='attention'>,}</span>/",
			"title": "直前の文字がn個以上続いた文字列",
			"desc": "2個以上続いた半角数字にマッチします。<br>『/a{2,}/』は『/aa+/』に等しい。"
		}, {
			"pattern": "/\\d<span class='attention'>{</span>2<span class='attention'>,</span>4<span class='attention'>}</span>/",
			"title": "直前の文字がn個～n個続いた文字列",
			"desc": "2個～4個続いた半角数字にマッチします。"
		}]
	}, {
		"category": {
			"ja": "選択",
			"en": "Selectors"
		},
		"items": [{
			"pattern": "/<span class='attention'>[</span>abc<span class='attention'>]</span>/",
			"title": "'[]'内のいずれかの文字",
			"desc": "'a'または'b'または'c'にマッチします。<br>『/[a-c]/』に等しいです。"
		}, {
			"pattern": "/<span class='attention'>[^</span>0-9<span class='attention'>]</span>/",
			"title": "'[]' 内の文字以外の文字",
			"desc": "0~9 以外の半角数字にマッチします。"
		}, {
			"pattern": "/a<span class='attention'>[</span>^b<span class='attention'>]</span>c/",
			"title": "'[]' 内の文字以外の文字 - その２",
			"desc": "'a' と 'c' の間に 'b' 以外の文字がある文字列にマッチします。<br>'b' 以外の文字は存在しなければならないので 'ac' にはマッチしません。"
		}, {
			"pattern": "/<span class='attention'>(</span>abc<span class='attention'>)</span>+/",
			"title": "グループ化",
			"desc": "'()' で囲んだ文字列をグループ化します。<br>'abc', 'abcabc...' にマッチします。"
		}, {
			"pattern": "/child<span class='attention'>|</span>children/",
			"title": "『a|b』 - 'a' または 'b'",
			"desc": "'child' または 'children'にマッチしますが、'children' が対象文字列の場合でも、'child' の部分のみがマッチします。<br>'children'にマッチさせたい場合は『/children|child/』とします。<br>『/children|child/』は『/child(?:ren)?/』に等しい。"
		}, {
			"pattern": "/<span class='attention'>(</span>Dozle<span class='attention'>|</span>Gihren<span class='attention'>)</span> Zabi/",
			"title": "『(a|b)c』 - 'ac' または 'bc'",
			"desc": "'Dozle Zabi' または 'Gihren Zabi' にマッチします。"
		}]
	}, {
		"category": {
			"ja": "文字クラス",
			"en": "Character Classes"
		},
		"items": [{
			"pattern": "/<span class='attention'>.</span>/",
			"title": "改行(\\n)以外の文字",
			"desc": "改行以外の文字列にマッチします。<br>『/[.]/』のように、'[]' 内に入れるとリテラル文字 '.' 扱いになります。"
		}, {
			"pattern": "/<span class='attention'>\\d</span>/",
			"title": "半角数字",
			"desc": "つまり符号無視、小数点を含む数値の場合、小数点より以前の数字がマッチすることになります。<br>『/[0-9]/』に等しい。全角数字は対象外となります。"
		}, {
			"pattern": "/<span class='attention'>\\D</span>/",
			"title": "半角数字以外",
			"desc": "『/[^0-9]/』に等しい。"
		}, {
			"pattern": "/<span class='attention'>\\w</span>/",
			"title": "半角英数字とアンダースコア",
			"desc": "『/[a-zA-Z0-9_]/』に等しい。"
		}, {
			"pattern": "/<span class='attention'>\\W</span>/",
			"title": "半角英数字とアンダースコア以外",
			"desc": "『/[^a-zA-Z0-9_]/』に等しい。"
		}, {
			"pattern": "/<span class='attention'>\\s</span>/",
			"title": "空白文字類",
			"desc": "『\\\\u0020,\\t,\\n,\\r,\\f,\\v』の他、ユニコードで空白とされる文字を含めた文字と同等。<br>IEでは'\\\\u00A0','\\\\u3000'(全角空白)は空白文字類に含まれません。※<b>Note</b>参照"
		}, {
			"pattern": "/<span class='attention'>\\S</span>/",
			"title": "空白文字類以外",
			"desc": "『\\\\u0020,\\t,\\n,\\r,\\f,\\v』の他、ユニコードで空白とされる文字を含めた文字以外と同等。<br>IEでは'\\\\u00A0','\\\\u3000'(全角空白)は空白文字類に含まれません。※<b>Note</b>参照"
		}]
	}, {
		"category": {
			"ja": "先読み",
			"en": "Lookahead Assertions"
		},
		"items": [{
			"pattern": "/Java(<span class='attention'>?=</span>Script)/",
			"title": "肯定的前方先読み(positive lookahead assertion)",
			"desc": "'Java'の後に'Script'が続く'Java'<br>単なる'Java'や'Script'以外の文字が続く'Java'にはマッチしません。"
		}, {
			"pattern": "/Java(<span class='attention'>?!</span>Script)/",
			"title": "否定的前方先読み(negative lookahead assertion)",
			"desc": "'Java'の後に'Script'が続かない'Java'<br>単なる'Java'、または'Script'以外の文字が続く'Java'にマッチします。"
		}]
	}, {
		"category": {
			"ja": "キャプチャ",
			"en": "Capturing Parentheses"
		},
		"items": [{
			"pattern": "/<span class='attention'>(</span>\\d{1,2}<span class='attention'>)</span>:<span class='attention'>(</span>\\d{1,2}<span class='attention'>)</span>/",
			"title": "キャプチャ(capturing parentheses)",
			"desc": "'nn:nn'の形の文字列にマッチします。<br>対象文字列を'15:30'とした場合、置換文字列を'$1時$2分'とし、<br><code>replace</code>を行うと結果は'15時30分'となります。"
		}, {
			"pattern": "/a(<span class='attention'>?:</span>bc)/",
			"title": "キャプチャしない括弧(non-capturing parentheses)",
			"desc": "マッチしても括弧に囲まれた文字はキャプチャされません。<br>'$1'などによって参照することはできません。<br><code>match</code>の正規表現パターンに'()'を使用すると、キャプチャされた文字列まで返されてしまいます。<br>このようなとき、マッチした結果のみが欲しい場合に使用すると良いでしょう。"
		}]
	}, {
		"category": {
			"ja": "文字",
			"en": "Character"
		},
		"items": [{
			"pattern": "/[a-z]+/",
			"title": "1つ以上の英小文字列を検索する",
			"desc": "大文字なら『/[A-Z]+/』、数字なら『/[0-9]+/』<br>『/[あ-ん]+/』で平仮名にマッチさせることができますが、評価は行っていないので意図しない結果になるかもしれません。"
		}, {
			"pattern": "/\\x61/",
			"title": "2桁の16進数文字コードで検索文字を指定",
			"desc": "'a' の文字コードは16進数で '61' なので『/a/』に等しいことになります。"
		}, {
			"pattern": "/\\u0061/",
			"title": "4桁の16進数で表すユニコードで検索文字を指定",
			"desc": "'a' はユニコード値では '0061' なので『/a/』に等しいことになります。"
		}]
	}, {
		"category": {
			"ja": "数値",
			"en": "Number"
		},
		"items": [{
			"pattern": "/[\\d０-９]+/",
			"title": "全/半角問わず1つ以上の正の整数",
			"desc": "『/[0-9０-９]+/』に等しい。"
		}, {
			"pattern": "/[+-]?\\d+/",
			"title": "符号付きを認める1つ以上の正または負の整数",
			"desc": "符号が無くとも良い。<br>'123', '+123', '-123'などにマッチします。"
		}, {
			"pattern": "/^\\d+$/",
			"title": "全て半角数字",
			"desc": "対象文字列がすべて半角数字の場合にマッチします。"
		}, {
			"pattern": "/\\d+\\.\\d+/",
			"title": "小数点を含む数値",
			"desc": "符号付き小数点付き数値なら『/-?d+.d+/』または『/[+-]?d+.d+/』<br>全角数字は対象外。"
		}, {
			"pattern": "/\\d+(\\.\\d+)?/",
			"title": "小数点が含まれることを許す数値",
			"desc": "整数と小数点付き数値にもマッチします。<br>全角数字は対象外。"
		}, {
			"pattern": "/[\\da-fA-F]+/",
			"title": "16進数として評価可能な文字列",
			"desc": ""
		}, {
			"pattern": "/^0*([\\da-f]{1,2}|[\\dA-F]{1,2})$/",
			"title": "0~ff(0~255)として評価可能か",
			"desc": "桁数は問わない。つまり'00ff'、'ff'ともにマッチします。<br>'fF' などの大/小文字の混在は許さない。"
		}]
	}, {
		"category": {
			"ja": "トリム",
			"en": "Trimming Spaces"
		},
		"items": [{
			"pattern": "/^(\\s|\\u00A0|\\u3000)+/",
			"title": "LTrim",
			"desc": "文字列先頭の1つ以上の空白文字にマッチします。<br>各行ごとにある先頭の空白文字を対象にするなら『/^\\s+/<span class='attention'>gm</span>』とします。"
		}, {
			"pattern": "/(\\s|\\u00A0|\\u3000)+$/",
			"title": "RTrim",
			"desc": "文字列末尾の1つ以上の空白文字にマッチします。"
		}, {
			"pattern": "/^(\\s|\\u00A0|\\u3000)+|(\\s|\\u00A0|\\u3000)+$/g",
			"title": "Trim",
			"desc": "文字列先頭、または末尾の1つ以上の空白文字にマッチします。"
		}]
	}, {
		"category": {
			"ja": "情報",
			"en": "Info(input)"
		},
		"items": [{
			"pattern": "/^\\d{3}(?:-?(?:\\d{4}|\\d{2}))?$/",
			"title": "郵便番号",
			"desc": "'nnn-nnnn', 'nnn-nn', 'nnn' にマッチします。<br>以前の形の郵便番号も許す。<br>5桁、または7桁の場合、'-' はあっても無くても良い。"
		}, {
			"pattern": "/^\\d{3}-?\\d{4}-?\\d{4}$/",
			"title": "携帯電話番号",
			"desc": "'nnn-nnnn-nnnn' にマッチします。<br>'-' はあってもなくても良い。<br>'-' を必須とするなら、'-' のすぐ後ろの '?' を削除します。"
		}, {
			"pattern": "/^https?://[-_.!~*'()a-zA-Z0-9;/?:@&amp;=+$,%#]+$/",
			"title": "URL",
			"desc": "ftp は対象外"
		}, {
			"pattern": "/^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$/",
			"title": "メールアドレス",
			"desc": "参考:<a href='http://msdn.microsoft.com/ja-jp/library/01escwtf.aspx'>文字列が有効な電子メール形式であるかどうかを検証する</a><br>「メモ :『/』について」も参照して下さい。"
		}, {
			"pattern": "/^(\\d{4})(/|-)(\\d{1,2})(/|-)(\\d{1,2})$/",
			"title": "日付",
			"desc": "'yyyy-mm-dd' や 'yyyy/mm/dd' にマッチします。<br>厳密には『半角数字4桁(/|-)半角数字1桁以上２桁以内(/|-)半角数字1桁以上２桁以内』になります。"
		}, {
			"pattern": "/^([01]?[0-9]|2[0-3]):([0-5][0-9])$/",
			"title": "時刻",
			"desc": "'hh:mm' または 'h:mm' にマッチします。"
		}]
	}, {
		"category": {
			"ja": "その他",
			"en": "etc"
		},
		"items": [{
			"pattern": "/&lt;\\w+(?:\\s+[^&gt;]+)?\\/?&gt;|&lt;\\/\\w+&gt;/g",
			"title": "HTML タグ",
			"desc": "'&lt;div&gt;' や '&lt;/span&gt;' などにマッチします。"
		}, {
			"pattern": "/#[A-Fa-f0-9]{3}([A-Fa-f0-9]{3})?/",
			"title": "16進数 カラーコード",
			"desc": "'#FFFFFF' や '#ccc' などにマッチします。"
		}, {
			"pattern": "/\\s+[^\\s]+\\s+/g",
			"title": "空白で囲まれた文字列にマッチさせる",
			"desc": "'a b c d'のように空白で区切られた文字列を対象としたとき、マッチするのは'b'と'c'、と思われるかもしれませんが、'b'しかマッチしません。<br>'\\s' は改行(\\n)もマッチしてしまうので単に'　 '(全/半角空白)とした方が確実かもしれません。"
		}, {
			"pattern": "/^([\\x20\\t]*)?\\d+\\s?([.:])?([\\x20\\t]*)?/gm",
			"title": "各行頭にある不要な文字列を削除する",
			"desc": "対象文字列:各行頭にある以下のような文字列<br><ul><li>'123 '</li><li>'123: '</li><li>'123. '</li><li>'123 : '</li><li>'123 . '</li></ul>このような文字列を replace で削除することができます。"
		}, {
			"pattern": "/\\n/g",
			"title": "\\n(改行)を検索する",
			"desc": "改行が含まれる文字列をHTMLに表示する場合、改行を'&lt;br/&gt;'に変換すると同じように改行されます。textarea に表示する場合は '\\n' で改行されます。"
		}, {
			"pattern": "/([0-9]+|[０-９]+)/g",
			"title": "半角数字または全角数字を末尾まで検索する",
			"desc": "半角数字の文字列と全角数字の文字列を別の文字列としてマッチさせる。<br>全/半角問わず有効とするが混在はさせない。<br>'123４５６'(４５６は全角)を対象とした場合、'123'と'４５６'がマッチする。"
		}]
	}, {
		"category": {
			"ja": "ノート",
			"en": "Note"
		},
		"items": [{
			"pattern": "『/』(スラッシュ)について",
			"title": "",
			"desc": "『/』は特殊記号に含まれません。しかし、正規表現リテラルの中では『/』もエスケープが必要となります。"
		}, {
			"pattern": "『\\』(バックスラッシュ)について",
			"title": "",
			"desc": "'.' をエスケープするには '\\.' のように特殊記号の前では特殊記号の本来の作用をエスケープする働きをしますが、特殊記号の前以外に置かれた場合は無視されます。"
		}, {
			"pattern": "空白文字類について",
			"title": "空白文字に含まれる文字一覧",
			"desc": "<ul><li>' ', '\\x20', '\\u0020' - 半角空白(space)</li><li>'　', '\\u3000' - 全角空白(space) ※IEでは含まれない</li><li>'\\xA0', '\\u00A0' - 空白(space) ※IEでは含まれない</li><li>\\f - 改ページ(form-feed)</li><li>\\r - 行頭復帰(carriage return)</li><li>\\n - 改行(linefeed)</li><li>\\t - タブ(tab)</li><li>\\v - 垂直タブ(a vertical tab)</li><li>その他 - '\\u2000-\\u200b\\u2028\\u2029'</li></ul>"
		}]
	}]
};